package cn.life.business.apply.service;

import cn.life.business.apply.entity.po.ApplyPo;
import cn.life.business.apply.entity.vo.ApplyVo;
import cn.life.business.audit.entity.po.AuditPo;
import cn.life.common.entity.model.CMessage;
import cn.life.common.entity.po.MessagePo;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @author 王振宇
 * @Description:
 * @Date 2018-09-18 14:28:36
 */
public interface ApplyService {
    /**
     * @param
     * @Description: 新增申请记录
     * @return: applyPo
     * @Author 王振宇
     * @Date 2018/09/18
     */
    CMessage AddApply(HttpServletRequest request, ApplyPo applyPo);

    /**
     * @param
     * @Description: 查询申请记录
     * @return: applyVo
     * @Author 王振宇
     * @Date 2018/09/19
     */
    CMessage queryList(ApplyVo applyVo);

    /**
     * @param
     * @Description: 单条查询申请记录和图片明细
     * @return: applyVo
     * @Author 王振宇
     * @Date 2018/09/20
     */
    CMessage querySingle(ApplyVo applyVo);

    /**
     * @param
     * @Description: 修改
     * @return: applyPo
     * @Author 王振宇
     * @Date 2018/09/20
     */
    CMessage update(ApplyPo applyPo);

    /**
     * @param
     * @Description: 删除
     * @return: applyPo
     * @Author 王振宇
     * @Date 2018/09/20
     */
    CMessage delete(ApplyPo applyPo);

    /**
     * @param
     * @Description: 导出
     * @return: applyVo
     * @Author 王振宇
     * @Date 2018/09/27
     */
    List<ApplyVo> Excel(ApplyVo applyVo);
    /**
     * @Description:    新增待审记录
     *
     * @param applyPo
     * @return:
     *
     * @Author 李佳明
     * @Date 2018-10-09 下午 4:50
     */
    CMessage addApplyAudit(ApplyPo applyPo);
    /**
     * @Description:    导出申请单
     *
     * @param applyVo
     * @return:
     *
     * @Author 李佳明
     * @Date 2018-10-16 下午 3:20
     */
    CMessage exportPdf(HttpServletRequest request,ApplyVo applyVo);
    /**
     * @Description:    发送短信验证码
     *
     * @param messagePo
     * @return: 
     *
     * @Author 李佳明
     * @Date 2018-10-17 下午 1:55 
     */
    CMessage sendMessage(MessagePo messagePo);
    /**
     * @Description:    校验短信验证码
     *
     * @param messagePo
     * @return:
     *
     * @Author 李佳明
     * @Date 2018-10-17 下午 1:55
     */
    CMessage checkMessage(MessagePo messagePo);
}
